// 自己测试用的
import request from '@/utils/request'

const prefix = '/dev-api'

// 登陆  POST /admin/acl/index/login
export function login({ username, password }) {
  return request({
    url: prefix + '/admin/acl/index/login',
    method: 'post',
    data: { username, password }
  })
}

// 获取用户信息(根据token)  GET /admin/acl/index/info
export function getInfo() {
  return request({
    url: prefix + '/admin/acl/index/info',
    method: 'get'
  })
}

// 登出  POST /admin/acl/index/logout
export function logout() {
  return request({
    url: prefix + '/admin/acl/index/logout',
    method: 'post'
  })
}

// 获取当前用户的菜单权限列表  GET /admin/acl/index/menu
export function getMenu() {
  return request(prefix + '/admin/acl/index/menu')
}

// 获取后台用户分页列表(带搜索)  GET /admin/acl/user/{page}/{limit}  带参数 page|limit|username
export const reqPageList = (page, limit, searchObj) => request({ url: prefix + `/admin/acl/user/${page}/${limit}`, method: 'get', params: searchObj })

// 根据ID获取某个后台用户  GET /admin/acl/user/get/{id}
export function getById(id) {
  return request({
    url: prefix + `/admin/acl/user/get/${id}`,
    method: 'get'
  })
}

// 保存一个新的后台用户
export const reqAddOrUpdate = (user) => {
  if (user.id) {
    // 修改用户  PUT /admin/acl/user/update  有body传data
    return request({
      url: prefix + '/admin/acl/user/update',
      method: 'put',
      data: user
    })
  } else {
    // 保存用户  POST /admin/acl/user/save
    return request({
      url: prefix + '/admin/acl/user/save',
      method: 'POST',
      data: user
    })
  }
}

// 更新一个后台用户  --- 与上面保存合并了

// 获取某个用户的所有角色  GET /admin/acl/user/toAssign/{userId}
export const reqGetRoles = (userId) => request({ url: prefix + `/admin/acl/user/toAssign/${userId}`, method: 'get' })

// 给某个用户分配角色
// roleId的结构: 字符串, 'rId1,rId2,rId3'  POST /admin/acl/user/doAssign
export const reqDoAssign = (userId, roleId) => request({ url: prefix + '/admin/acl/user/doAssign', method: 'post', params: { userId, roleId }})

// 删除某个用户  DELETE /admin/acl/user/remove/{id}
export const reqRemoveById = (id) => request({ url: prefix + `/admin/acl/user/remove/${id}`, method: 'delete' })

// 批量删除多个用户
// ids的结构: ids是包含n个id的数组   DELETE /admin/acl/user/batchRemove body传data
export const reqBatchRemove = (ids) => request({ url: prefix + '/admin/acl/user/batchRemove', method: 'delete', data: ids })

